part of '../page.dart';

class _WordBaseInputPresentationModel {
  const _WordBaseInputPresentationModel({
    required this.titleTextEditingController,
    required this.titleTextFieldFocusNode,
    required this.rankTextEditingController,
    required this.rankTextFieldFocusNode,
    required this.amTranscriptionTextEditingController,
    required this.amTranscriptionTextFieldFocusNode,
    required this.brTranscriptionTextEditingController,
    required this.brTranscriptionTextFieldFocusNode,
    required this.definitionTextEditingController,
    required this.definitionTextFieldFocusNode,
    required this.useCaseInputPresentationModels,
  });

  final TextEditingController titleTextEditingController;
  final FocusNode titleTextFieldFocusNode;

  final TextEditingController rankTextEditingController;
  final FocusNode rankTextFieldFocusNode;

  final TextEditingController amTranscriptionTextEditingController;
  final FocusNode amTranscriptionTextFieldFocusNode;

  final TextEditingController brTranscriptionTextEditingController;
  final FocusNode brTranscriptionTextFieldFocusNode;

  final TextEditingController definitionTextEditingController;
  final FocusNode definitionTextFieldFocusNode;

  final BuiltList<_UseCaseInputPresentationModel> useCaseInputPresentationModels;

  _WordBaseInputPresentationModel copyWith({
    TextEditingController Function()? titleTextEditingController,
    FocusNode Function()? titleTextFieldFocusNode,
    TextEditingController Function()? rankTextEditingController,
    FocusNode Function()? rankTextFieldFocusNode,
    TextEditingController Function()? amTranscriptionTextEditingController,
    FocusNode Function()? amTranscriptionTextFieldFocusNode,
    TextEditingController Function()? brTranscriptionTextEditingController,
    FocusNode Function()? brTranscriptionTextFieldFocusNode,
    TextEditingController Function()? definitionTextEditingController,
    FocusNode Function()? definitionTextFieldFocusNode,
    BuiltList<_UseCaseInputPresentationModel> Function()? useCaseInputPresentationModels,
  }) {
    return _WordBaseInputPresentationModel(
      titleTextEditingController: titleTextEditingController == null
          ? this.titleTextEditingController
          : titleTextEditingController(),
      titleTextFieldFocusNode: titleTextFieldFocusNode == null
          ? this.titleTextFieldFocusNode
          : titleTextFieldFocusNode(),
      rankTextEditingController: rankTextEditingController == null
          ? this.rankTextEditingController
          : rankTextEditingController(),
      rankTextFieldFocusNode:
          rankTextFieldFocusNode == null ? this.rankTextFieldFocusNode : rankTextFieldFocusNode(),
      amTranscriptionTextEditingController: amTranscriptionTextEditingController == null
          ? this.amTranscriptionTextEditingController
          : amTranscriptionTextEditingController(),
      amTranscriptionTextFieldFocusNode: amTranscriptionTextFieldFocusNode == null
          ? this.amTranscriptionTextFieldFocusNode
          : amTranscriptionTextFieldFocusNode(),
      brTranscriptionTextEditingController: brTranscriptionTextEditingController == null
          ? this.brTranscriptionTextEditingController
          : brTranscriptionTextEditingController(),
      brTranscriptionTextFieldFocusNode: brTranscriptionTextFieldFocusNode == null
          ? this.brTranscriptionTextFieldFocusNode
          : brTranscriptionTextFieldFocusNode(),
      definitionTextEditingController: definitionTextEditingController == null
          ? this.definitionTextEditingController
          : definitionTextEditingController(),
      definitionTextFieldFocusNode: definitionTextFieldFocusNode == null
          ? this.definitionTextFieldFocusNode
          : definitionTextFieldFocusNode(),
      useCaseInputPresentationModels: useCaseInputPresentationModels == null
          ? this.useCaseInputPresentationModels
          : useCaseInputPresentationModels(),
    );
  }
}
